TCP এবং UDP Sockets এর উদাহরণ

Computer Programming - ইউনিক্স সকেট (Unix Socket) Socket Programming in Python (Python এ Socket Programming) |
262
262

TCP এবং UDP Sockets এর উদাহরণ

TCP (Transmission Control Protocol) এবং UDP (User Datagram Protocol) উভয়ই কম্পিউটার নেটওয়ার্কে ডেটা ট্রান্সফারের জন্য ব্যবহৃত প্রোটোকল, তবে তাদের কাজ করার ধরন ভিন্ন। TCP একটি কানেকশন-অরিয়েন্টেড প্রোটোকল, যা ডেটা ট্রান্সফার করতে আগে একটি সংযোগ স্থাপন করে এবং ডেটার পাঠানো নিশ্চিত করার জন্য নির্ভরযোগ্যতা প্রদান করে। অন্যদিকে, UDP একটি কানেকশনলেস প্রোটোকল, যা দ্রুত কিন্তু কম নির্ভরযোগ্য ডেটা ট্রান্সফার করে।

এখানে TCP এবং UDP এর জন্য কিছু উদাহরণ দেওয়া হল।


১. TCP Socket উদাহরণ

TCP হল একটি নির্ভরযোগ্য এবং কানেকশন-অরিয়েন্টেড প্রোটোকল। এটি সংযোগ স্থাপন করার আগে ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি হ্যান্ডশেক প্রক্রিয়া সম্পন্ন করে এবং ডেটা পাঠানোর পূর্বে সংযোগ নিশ্চিত করা হয়।

TCP Client (Client-Side)

import socket

# TCP ক্লায়েন্ট সকেট তৈরি
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# সার্ভারের আইপি ঠিকানা এবং পোর্ট
server_address = ('127.0.0.1', 65432)

# সার্ভারের সাথে সংযোগ স্থাপন
client_socket.connect(server_address)

try:
    # সার্ভারে একটি বার্তা পাঠানো
    message = "Hello, Server!"
    client_socket.sendall(message.encode())

    # সার্ভার থেকে উত্তর গ্রহণ
    data = client_socket.recv(1024)
    print(f"Received: {data.decode()}")

finally:
    # সংযোগ বন্ধ করা
    client_socket.close()

TCP Server (Server-Side)

import socket

# TCP সার্ভার সকেট তৈরি
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# সার্ভারের আইপি ঠিকানা এবং পোর্ট
server_socket.bind(('127.0.0.1', 65432))

# ক্লায়েন্ট সংযোগের জন্য শোনা শুরু করা
server_socket.listen(1)

print("Waiting for a connection...")

# ক্লায়েন্টের সংযোগ গ্রহণ
client_socket, client_address = server_socket.accept()

with client_socket:
    print(f"Connected by: {client_address}")

    # ক্লায়েন্ট থেকে ডেটা গ্রহণ করা
    data = client_socket.recv(1024)
    if data:
        print(f"Received: {data.decode()}")

        # ক্লায়েন্টকে উত্তর পাঠানো
        client_socket.sendall(b"Hello, Client!")

এখানে, TCP ক্লায়েন্ট প্রথমে সার্ভারের সাথে সংযোগ স্থাপন করে, একটি বার্তা পাঠায়, এবং সার্ভার থেকে একটি উত্তর গ্রহণ করে। সার্ভারটি ক্লায়েন্টের সাথে সংযোগ স্থাপন করে এবং ডেটা গ্রহণ করার পর একটি উত্তর পাঠায়।


২. UDP Socket উদাহরণ

UDP হল একটি কানেকশনলেস প্রোটোকল, যা ডেটা পাঠানোর জন্য পূর্ববর্তী সংযোগের প্রয়োজন নেই এবং এটি দ্রুত ডেটা ট্রান্সফার করে। তবে, এটি নির্ভরযোগ্যতা এবং অর্ডারিং প্রদান করে না।

UDP Client (Client-Side)

import socket

# UDP ক্লায়েন্ট সকেট তৈরি
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# সার্ভারের আইপি ঠিকানা এবং পোর্ট
server_address = ('127.0.0.1', 65432)

# সার্ভারে একটি বার্তা পাঠানো
message = "Hello, UDP Server!"
client_socket.sendto(message.encode(), server_address)

# সার্ভার থেকে উত্তর গ্রহণ
data, server = client_socket.recvfrom(1024)
print(f"Received: {data.decode()}")

# সকেট বন্ধ করা
client_socket.close()

UDP Server (Server-Side)

import socket

# UDP সার্ভার সকেট তৈরি
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# সার্ভারের আইপি ঠিকানা এবং পোর্ট
server_socket.bind(('127.0.0.1', 65432))

print("Waiting for a message...")

# ক্লায়েন্ট থেকে বার্তা গ্রহণ
data, client_address = server_socket.recvfrom(1024)
print(f"Received message: {data.decode()}")

# ক্লায়েন্টকে উত্তর পাঠানো
server_socket.sendto(b"Hello, UDP Client!", client_address)

# সকেট বন্ধ করা
server_socket.close()

UDP উদাহরণে, ক্লায়েন্ট সরাসরি সার্ভারে একটি বার্তা পাঠায় এবং সার্ভার থেকে উত্তর গ্রহণ করে। UDP তে কোনও সংযোগ স্থাপন বা নিশ্চিতকরণ নেই, এবং বার্তা দ্রুত পাঠানো হয়।


TCP vs UDP: গুরুত্বপূর্ণ পার্থক্য

বৈশিষ্ট্যTCPUDP
কানেকশনকানেকশন-অরিয়েন্টেড (Connection-oriented)কানেকশনলেস (Connectionless)
নির্ভরযোগ্যতানির্ভরযোগ্য (Reliable)অ-নির্ভরযোগ্য (Unreliable)
তথ্য প্রেরণডেটা অর্ডার মেনে পাঠানো হয়ডেটা অর্ডার ছাড়াই পাঠানো হয়
সংযোগ স্থাপনসংযোগ স্থাপনের প্রক্রিয়া (Handshake)কোন সংযোগ স্থাপন নেই
পর্যাপ্ততাকম গতিতে, কিন্তু নির্ভরযোগ্যদ্রুত, তবে প্যাকেট লস হতে পারে
ব্যবহারফাইল ট্রান্সফার, ওয়েব ব্রাউজিংস্ট্রিমিং, গেমিং, ভয়েস কল

উপসংহার

TCP এবং UDP উভয়ই গুরুত্বপূর্ণ নেটওয়ার্ক প্রোটোকল, তবে তাদের ব্যবহারের ক্ষেত্র এবং উদ্দেশ্য ভিন্ন। যেখানে TCP নির্ভরযোগ্য সংযোগ এবং ডেটা আদান-প্রদান প্রয়োজন, সেখানে UDP দ্রুত যোগাযোগ এবং কম লেটেন্সির জন্য উপযুক্ত। আপনার প্রয়োজনে নির্ভর করে আপনি যে প্রোটোকলটি ব্যবহার করবেন তা নির্বাচন করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion